Hereinafter, a “search” is an electronic searching operation performed by an application into data managed by or accessible from an information system unless expressly disambiguated where used. The searching operation can be configured in any manner suitable for the given implementation of the information system, e.g., according to the data being searched, the organization of the data in the information system, the search interface or method implemented by the information system, and the like.
For example, when the information system is a database, the search is configured according to a query language supported by the database; when the information system is a product catalog, e.g. as in the case of an online retailing website, the search may be a natural language search term input; or when the information system is a task management system, the search may be constructed using a combination of parametric terms and/or natural language terms pertaining to a task being searched. Generally, any type of data can be searched in any type of information system, using a search operation that of any suitable configuration.
Typically, when a search is performed, a result set is returned in response to the search. The result set includes references to one or more data items that satisfy the search criteria. Under certain circumstances, a result set can also be empty, e.g., when no data item satisfies the search criteria.
The term “data item” is interchangeably referred to herein as an “item” unless expressly distinguished where used. A data item is data that represents a searchable product, service, or value offered by an information system. The product, service, or value can be physical or virtual, may actually exist as is or may be derived from one or more other products, services, or values, or the data thereof.
If a user, e.g., the searcher who is performing the search, selects an item for further use, the reference to the data item is saved in a referencing item or a container item. A referencing item or a container item is also interchangeably referred to herein as a container. A container item is a data structure used to hold references to data items.
To give a specific non-limiting example, a user may visit an online retailing website to look for a product. The user performs a search in the website's catalog, which is populated with data items representing the products offered by the website. When the user searches for widget ABC, the search returns a result set of all data items related to matching products from the catalog. If the user selects a product by selecting a corresponding data item from the result set, the selected data item is saved in one or more containers, e.g., in a shopping cart, in a recently viewed list, in a list containing products or product-categories of interest to the user, and other well-known containers.
As another example, a customer facing a problem in a data processing environment opens a trouble ticket. The trouble ticket is an example of a container item. The customer searches product documentation, support data, user forums and other repositories of data items available in an information system of the data processing environment. The portions of product documentation tried by the customer, support data links visited, forum postings reviewed, are all examples of data items that become referenced in the trouble ticket container.
A container with the references to the data items contained therein can be persisted. In other words, presently, a container, e.g., a shopping cart or a trouble ticket, can remain populated with the referenced data items and can remain available for a period of time regardless of the state of the searching session. The persisted container is useful to the user if or when the user returns to resume interactions with the information system. The persisted container is also useful to the provider of the information system, e.g., to provide item-specific or container-specific notifications to the user, or to guide a support technician to review the actions already taken by the customer in resolving a problem.